
//
//  YAStatuesListVM.swift
//  KeepCliming
//
//  Created by 鱼龙之梦 on 15/9/6.
//  Copyright © 2015年 panyanzhi. All rights reserved.
//

import UIKit
import ReactiveCocoa
//MARK:--- 分离网络方法,获取网络数据
class StatusListVM:NSObject
{
    //注意：这里不能直接写YAStatus类型
    var statues:[AnyObject]?
    func loadStatues()->RACSignal{
        return RACSignal.createSignal({ (subscriber) -> RACDisposable! in
            YANetworking.sharedTools.loadStatus().subscribeNext({ (result) -> Void in
                //注意：数据里含有字典的写法：[[NSString:AnyObject]]，guard的用法
                guard let array = result["statuses"] as? [[String:AnyObject]] else {
                    printLog("没有获取到正确的数据")
                    return
                }
                if self.statues == nil {
                    self.statues = [YAStatusVM]()//注意：和微博视图模型关联上
                }
                for dict in array {
                    self.statues?.append(YAStatusVM(status: YAStatus(dict: dict)))
                }
                printLog(self.statues)
                //注意：通知调用方已经加载完成，不必返回，因为已经存储在这个类的数组变量里了
                subscriber.sendCompleted()
                }, error: { (error) -> Void in
                    subscriber.sendError(error)
            })
            return nil
        })
    }
}
